Automatic planning of network configurations

ABSTRACT

The invention relates to a device and a method, which reduce the outlay required when searching for a suitable network configuration, in particular in the field of automation. The device for the automatic planning of a network configuration, in particular for an automation system, comprises at least one partition module to break down at least one described network planning problem into sub-problems, at least one production module to generate at least one solution to each of the sub-problems of the at least one network planning problem based on predefinable rules and at least one validation module to verify the generated solutions to the sub-problems. The purpose of the device and the method according to the invention for automatic network planning is to support the planning process for network structures for major systems, in particular for systems with more than 1000 users, by supplying suitable methods and tools. One of the focal areas is switch-based Ethernet-LANs, as used for example in PROFInet environments.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to the European application No.04018287.5, filed Aug. 2, 2004 and which is incorporated by referenceherein in its entirety.

FIELD OF INVENTION

The invention relates to the automatic planning of networkconfigurations.

SUMMARY OF THE INVENTION

The engineering of automation units in particular is a complex andtime-intensive task. Complex automation units are distributed and arefrequently based on multilevel network architectures such as field buses(e.g. PROFIbus) and higher-order Ethernet-based factory networks. Inthis process the boundaries between traditional field buses and highernetworks become increasingly blurred (e.g. PROFInet). While theengineering of PROFIbus structures is wholly controlled, the concept ofEthernet networks is still problematic for a large number of users, inparticular when quality of service criteria such as end-to-end delaytimes and usage limits have to be complied with.

In principle the search for a network architecture represents an NPclass problem. For large numbers of users therefore brute forceapproaches, which are means for resolving difficult problems in theareas of IT and game theory and involve trying out all variants, soonbecome impractical.

There is therefore a particular interest in all tools, which support andsimplify this process in respect of freedom from error andeffectiveness. However until now such tools have tended to be consideredin isolation and often require the repeated inputting of alreadyavailable information in a more or less identical form.

The object of the present invention is therefore to specify a device anda method, which reduce the outlay required when searching for a suitablenetwork configuration, particularly in the field of automation.

The object is achieved by a device for the automatic planning of anetwork configuration, in particular for an automation system, with atleast one partition module to break down at least one described networkplanning problem into sub-problems, at least one production module togenerate at least one solution to each of the sub-problems of the atleast one network planning problem based on pre-definable rules and atleast one validation module to verify the generated solutions to thesub-problems.

The object is also achieved by a method for the automatic planning of anetwork configuration, in particular for an automation system, in whichat least one described network planning problem is broken down intosub-problems using partition methods, at least one solution is generatedfor each of the sub-problems of the at least one network planningproblem based on predefinable, extendable rules by means of a heuristicsearch and the generated solutions to the sub-problems are verified bymeans of an acceptance test.

The purpose of the device and the method according to the invention forautomatic network planning is to support the network structure planningprocess for major systems, in particular for system with more than 1000users, by providing suitable methods and tools. One of the focal areasis switch-based Ethernet-LANs, as used for example in PROFInetenvironments.

In the device and method according to the invention, methods derivedfrom artificial intelligence are therefore used to control the searchfor an acceptable solution.

The device and method described are used to generate a configuration inlimited computing time, which connects all the devices to form afunctional network, takes account of existing construction rules,complies with any quality of service criteria and usage limits set andis as economical as possible to set up.

The invention is described in more detail below with reference to theexemplary embodiments shown in the figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic diagram of the device for the automaticplanning of network configurations,

FIG. 2 shows a schematic diagram of the breakdown into sub-problems,

FIG. 3 shows a schematic diagram of the mode of operation of productionrules,

FIG. 4 shows a schematic diagram of the steps during the search for asolution,

FIG. 5 shows an example of a heuristic search in the search tree, and

FIG. 6 shows a schematic diagram of the backtracking method.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows a schematic diagram of the device for the automaticplanning of network configurations. The algorithm for generating thenetwork is embedded in a framework 99, which provides a series ofservices, data structures and interfaces as elements of a network designinfrastructure.

The framework 99 contains one or a plurality of partition modules 1,each of which breaks a network planning problem 11 down intosub-problems 111. A description model for a network planning problem 11also exists as does an initialization model 4 for reading in the inputdata for a network planning problem 11. One or a plurality of productionmodules 2 then generate(s) partial solutions 222 to the network planningproblems 11 according to defined rules. One or a plurality of validationmodules 3, 3 f verify/ies the generated partial solutions 222 andcomplete a final acceptance test for the overall solution 22.

The device also has a process controller 6 for the solution process, anexport module 5 to output the solutions 22, 222 and the validationresults from the validation modules 3, 3 f and a graphic user interface7 to display the solution process and the solution visually.

The network configuration generation process is controlled by theprocess controller 6, which monitors the individual steps of the processand delegates completion of the respective sub-tasks in the variousphases (preparation phase, search for a solution, completion phase) tothe competent modules 1, 2, 3, 4, 5. The process controller 6 therebyfollows an algorithm, the architectural features of which can bedescribed as follows:

-   -   Initialization module 4 reads in a network planning problem 11        converted to graph theory    -   One or a plurality of partition modules 1 break down problem by        means of partition methods    -   Representation of expert knowledge by extendable sets of        production rules, as well as heuristic search in a search tree        with evaluation of partial solutions 222 by the production        modules 2    -   Backtracking based on stack processing 66 of incremental partial        solutions 222, controlled by the process controller 6    -   Acceptance test by simulating the network loads induced by        component communication in the validation modules 3, 3 f    -   Export module outputs the generated network structure and the        validation results obtained

The planning process is based on the geometrical data of the automationdevices to be networked within the unit and a material list with theactive network components that can be used (such as switches andrepeaters), cables, etc. A model, comprising the following elements,exists to describe the problem 11 to be resolved:

-   -   Nodes: Identity, position and area association of the        communication end points of automation devices    -   Communication relationships: description of the communication        taking place between the communication end points from the        logical connection and link from software components to        automation devices

The area information relates to areas provided by the developer of theautomation unit. These include for example:

-   -   Safety areas: emergency stop deactivates all the components        involved in this area    -   Operating mode areas: in this area it is possible to switch        between different operating modes (e.g. automatic and manual        operation)    -   HMI areas: all the automation devices of an area can be        controlled at a human/machine interface    -   Start-up areas: the components in an area are started up        together if required

Such areas are represented in the graph-based problem description asattributes of the nodes. Handling area-specific requirements is the taskof the production modules 2, which are deployed in the search phase.

The requirements 12 of the network administrator and a material list 12are input into the system as well as the problem description. Therequirements 12 include the various quality of service or QoSrequirements (end-to-end delay times permitted here) and aprioritization taking into account costs incurred. The material list 13contains the available types of network component such as switches,hubs, repeaters and cables and similar materials.

The network planning problem 11 in the description model, therequirements 12 and the material list 13 are first read into theinternal data structures by the initialization module 4 in thepreparation phase, before the problem is routed to the solution process.

The present network planning problem 11 belongs to the class of total NPproblems. The algorithms known from the literature all have thecharacteristic that transit time increases exponentially with the numberof nodes and connections. One of the most important conditions forfinding a solution to the problem in a reasonable time thereforeinvolves reducing the complexity. Breaking down the problem 11 into anumber of sub-problems 111 automatically reduces the complexity, thusimproving the transit time.

Such division breaks the overall number of nodes into subsets, combiningnodes in autonomous groups, each representing a sub-problem. Once thesub-problem has been resolved, the group is replaced by one or aplurality of new nodes, which then represent all the communication endpoints in the group.

As breaking down the problem impacts on the solution, the variousrequirements are taken into account here. Breaking down and grouping canessentially be based on a plurality of different criteria:

-   -   Coupling element ports: e.g. number of nodes that can be        combined with a switch limited by number of ports.    -   Intensity of communication relationship or strictness of QoS        requirements: the more switches there are between two nodes, the        longer the end-to-end delay    -   Distance of nodes from each other: the further the nodes are        from a switch, the longer the cables have to be for example,        therefore the higher the costs    -   Area-specific conditions: a switch within a safety area (see        above) is not permitted to convey messages, which are not        directly linked to communication between the components in the        area

As the partition method can vary depending on the criteria selected, anumber of partition modules 1 are provided, which can be extended andreplaced. As well as the initial problem breakdown, the dynamicbreakdown of a sub-problem 111 into further sub-problems is alsosupported, if a production module 2 has been unable to produce asolution to the sub-problem 111. Generally the problem breakdown processresults in a tree of sub-problems, each comprising a number of nodes ofthe originally defined problem or representatives of underlyingsub-problems.

The result of a breakdown into groups of two is shown as an example inFIG. 2. The tree of sub-problems 111 resulting from the breakdown ispartly sequentialized by the process controller, so that starting at thelowest level of the tree the sub-problems 111 are gradually routed tothe production modules 2 to generate a partial solution 111. As thesub-problems are mutually independent to a certain degree, the searchfor a solution to the sub-problems 111 can be carried out in parallel.Existing dependencies between the sub-problems 111 are defined bypriority relationships, which the process controller 6 on the one handuses for sequentialization and on the other hand uses to forcesynchronization during parallel processing, until all the necessaryinput for a sub-problem are present.

For defined problem patterns the production modules 2 are used tointegrate fixed production rules, i.e. suitable solution patterns, intothe system, also including examples of algorithms for sub-problems 111described in the literature. The number of production rules suitable fora defined (sub) problem 11, 111 is selected with reference to a patterncomparison. To this end the production rule is provided with a pattern,which selects those problems, to which the production rule can beapplied. The pattern can thereby contain both information about thenumber and position of the nodes involved and the ID or type of theareas in question.

FIG. 3 shows the mode of operation of two production rules A, B. If aplurality of production rules A, B can be applied to a problem pattern,rule selection can be controlled by a previously defined prioritization.

The set of production modules can be modified, allowing the system to betailored to a wide range of user requirements. If for example a linetopology is preferred for the Ethernet network, as in the case of mostPROFInet environments, a corresponding set of production rules can becompiled. The sets of production rules can also be divided intoindividual phases, in which specific tasks respectively have to becompleted, e.g. locating switches, hubs etc. in a first phase and layingcables in a second phase. A set of associated rules represents thedomain-specific expert knowledge.

During the search for a solution, for which three exemplary steps I, II,III are shown in FIG. 4, the sub-problems 111 identified during thebreakdown are routed to the production modules for application of theproduction rules. This generates a partial solution 222, i.e. part ofthe required network configuration. The generated partial network canthen be seen as a closed group, as already described in the section onthe partition modules.

As a plurality of production rules can be applied to a problem 11 andone production rule can potentially also generate a plurality ofdifferent solutions, the process of the search for a solution isstructured in a search tree, as shown in FIG. 5. In the search treeevery node represents the conversion of a sub-problem 111 to a partialsolution 222. At the bottom end of each path through the search tree isan overall or total solution 22, which does not however always representan ideal solution.

The correct path through the search tree is determined by theapplication of heuristics, i.e. estimates of the gain to be expectedfrom a specific solution in the respective step in the search tree. FIG.5 shows a graphic representation of such a heuristic search. Startingfrom the first node on the top level the algorithm first uses evaluationfunctions to try to estimate the gain from the three subsequent partialsolutions 222 (or even sequential states) respectively and then decideson the path on the right side. There are three possible solutions 222again in the next node. This time the algorithm takes the left path,etc.

Variables that can be used to evaluate a solution 22, 222 are forexample the resulting costs, the expected network usage or progressachieved, measured as the number of nodes networked by the solution. Theevaluation is carried out at two levels:

-   -   In the production module 2 itself by evaluating the solutions        22, 222 that are possible according to its production rules    -   By the process controller 6 via all production modules 2 by        analyzing the evaluation that can be achieved by the production        modules 2

Once the partial solutions 222 have been generated, a rough outputevaluation is carried out with the aid of a validation module 3. Ananalytical tool is typically used for this, which can provide a roughestimate at high speed.

If during verification of a partial solution 222, it is identified thata requirement relating to QoS or network cost has not been compliedwith, so-called backtracking takes place. The last state in the searchtree is restored in each instance by the process controller 6 and one ofthe remaining sequential states is selected instead of the last selectedstate.

FIG. 6 shows a graphic representation of this process. In step a thealgorithm reaches a state, which does not comply with one or a pluralityof requirements and therefore in other words does not permit anysequential states. In step b the algorithm has therefore backtracked andselected another sequential state of the state previously visited andhas therefore been successfully completed.

For backtracking, i.e. the restoration of an already processed state inthe search tree, a stack 66 is used, in which all the states on the pathto the current state are stored. Storing the entire state space wouldquickly use up the capacity of the available storage unit. As the statespace can also be very deep, the process controller 6 uses a specialstack 66 for large stack depths.

The state information, to be stored on the stack 66, includes on the onehand all the information required to undo a change made in the networkand on the other hand the information required to select a newsequential state. It also includes the sequence of already selectedproduction rules A, B, the production module 2 that generated the laststate and specific information which the production module 2 can use toidentify the next sequential state to be generated in each instance.

A plurality of validation modules 3 can be used to verify thesub-problems 111, each verifying various sub-aspects of therequirements. At the end of the search an acceptance test is carried outon the network configuration obtained using a simulator. Finalverification of the overall solution is also carried out by a validationmodule 3. The validation modules 3 f provided for this purpose arecharacterized by a corresponding “final” attribute for selection, asthey achieve a much higher level of accuracy than the rough outputevaluations carried out during the search and therefore require morecomputing capacity.

This step should generally only supply more precise output values forthe generated network but because of its higher level of accuracy it canalso reveal failure to comply with requirements. Backtracking is firstcarried out here too, in the hope of an improvement. If however nosuitable solution is found, the critical sections in the network aremarked and the user is given the option of subsequent improvement.

Said subsequent improvement by the user can either take place manuallyor by feeding the problem back into the system. To this end criticalsections can be selected for processing, partial solutions can bepredefined, which the system takes directly over into the solution, orthe unmodified original problem description 11 can be input into thesystem using new parameters, i.e. redefined requirements.

1. A device for the automatic planning of a network configuration for anautomation system, comprising: a memory coupled to a processer; at leastone partition module to break down at least one described networkplanning problem into sub-problems; at least one production module forgenerating at least one solution to each of the sub-problems of the atleast one network planning problem based on pre-definable rules; and atleast one validation module for verifying the generated solutions to thesub-problems, wherein the break down of said at least one describednetwork planning problem into sub-problems is based on a plurality ofcriteria comprising: 1) a criterion regarding node combinability as afunction of a number of nodes that can be interconnected by a respectivecircuitry of the network; 2) a criterion regarding intensity ofcommunication interaction between nodes; 3) a criterion regarding nodedistance separation from one another and from the respective circuitryof the network; an 4) a criterion regarding functional limitationsimposed on a respective circuitry for carrying a communication in arespective location; and a stack for storing already generated partialsolutions to a network planning problem, wherein the generated partialsolutions comprises successive states, wherein the stack is configuredto perform a backtrack operation to restore a previous state in theevent a present state does not meet at least one of the criteria so thatanother of the successive states can be selected.
 2. The deviceaccording to claim 1, further comprising: at least one initializationmodule for reading in the at least one network planning problem in theform of input data.
 3. The device according to claim 2, wherein the atleast one network planning problem can be read in the form of a model.4. The device according to claim 1, further comprising: at least onefurther validation module for performing a final acceptance test onoverall solutions using a simulator.
 5. The device according to claim 1,further comprising: an export module to output generated overallsolutions and/or to output the results of the verifications by thevalidation modules.
 6. The device according to claim 1, furthercomprising: a process controller for monitoring individual steps of theplanning process and/or for delegating sub-tasks to respectivelycompetent modules.
 7. The device according to claim 1, furthercomprising: at least one graphic user interface for displaying asolution process and/or solutions visually.
 8. A method forautomatically planning a network configuration for an automation system,comprising: a memory coupled to a processor; subdividing at least onedescribed network planning problem into sub-problems by means ofpartition methods; generating at least one solution for each of thesub-problems of the at least one network planning problem based onpre-definable, extendable rules, by means of a heuristic search; andverifying the generated solutions to the sub-problems by means of anacceptance test wherein the subdividing of said at least one describednetwork planning problem into sub-problems is based on a plurality ofcriteria comprising: 1) a criterion regarding node combinability as afunction of a number of nodes that can be interconnected by a respectivecircuitry of the network; 2) a criterion regarding intensity, ofcommunication interaction between nodes; 3) a criterion regarding nodedistance separation from one another and from the respective circuitryof the network; and 4) a criterion regarding functional limitationsimposed on a respective circuitry for carrying a communication in arespective location; storing generated partial solutions to a networkplanning problem in a stack, wherein the generated partial solutionscomprises successive states; and in the event a present state does notmeet at least one of the criteria, backtracking to restore a previousstate so that another of the successive states can be selected from thesolutions stored in the stack.
 9. The method according to claim 8,wherein at least one network planning problem converted to graph theoryis read in by input data.
 10. The method according to claim 9, whereinthe at least one network planning problem is read in in the form of amodel.
 11. The method according to claim 8, wherein at least one finalacceptance test is carried out on the overall solutions by means ofsimulation.
 12. The method according to claim 8, wherein generatedoverall solutions and/or the results of the verifications carried out bymeans of acceptance tests is/are output via an export module.
 13. Themethod according to claim 8, wherein individual steps of the planningprocess are monitored by a process controller and/or sub-tasks aredelegated to the respectively competent modules by the processcontroller.
 14. The method according to claim 8, wherein a solutionprocess and/or the solutions are displayed visually via at least onegraphic user interface.